摘要: 单元测试用于检验软件单一模块的功能是否正确,是软件开发过程中的重要步骤,可以及时发现代码中的缺陷,提升软件的质量和可信度. 由于手动编写单元测试费时费力,经常遗漏覆盖重要的代码逻辑.为此,研究者提出单元测试用例自动生成技术. 近来,预训练大语言模型( large language models, LLM) 已经广泛应用于代码生成相关任务. 然而, 当前在重要的系统级编程语言C上, 还没有相关工作. 为了填补这一空白, 本文面向C程序设计并实现了基于LLM 的单元测试用例生成方法LLM4CUTCG.该方法结合LLM多智能体交互和程序分析技术,客服了LLM内在问题. 为了验证方法效果,收集了125 个C 语言目标程序,并针对这些程序生成测试用例. 实验结果表明, LLM4CUTCG 生成的测试行覆盖率为91. 71% ,测试预言正确率为50. 05% . 其覆盖率优于传统方法符号执行.
中图分类号: